package com.eric.windows.actionbar;

import android.app.ActionBar;
import android.app.Activity;
import android.app.FragmentManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.SearchView;
import android.widget.SearchView.OnQueryTextListener;
import android.widget.Toast;

import com.eric.windows.R;

public class ActionBarTestActivity extends Activity implements OnClickListener {

	private ActionBar actionBar;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_action_test);
		findViewById(R.id.button1).setOnClickListener(this);
		findViewById(R.id.button2).setOnClickListener(this);

		FragmentManager manager = getFragmentManager();
		manager.beginTransaction().add(R.id.container, new ActionFragment()).commit();
		//获取该Activity的ActionBar：
		actionBar = getActionBar();
		//将应用图标设置为可点击图标
//		actionBar.setHomeButtonEnabled(true);
		//将应用图标设置为可点击图标，并且左边显示箭头导航
		actionBar.setDisplayHomeAsUpEnabled(true);
		//修改应用图标
		actionBar.setLogo(R.mipmap.pic_1);
		//改变ActionBar的背景色
//		actionBar.setBackgroundDrawable(getDrawable(R.drawable.action_bg));
//      actionBar.setBackgroundDrawable(this.getBaseContext().getResources().getDrawable(R.drawable.action_bg));

	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
			case R.id.button1:
				actionBar.show(); //显示ActionBar
				break;
			case R.id.button2:
				actionBar.hide(); //显示ActionBar
				break;
		}
	}


	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.action_manu, menu);
//		MenuItem addItem = menu.findItem(R.id.add);
		//为添加按钮设置图标
//		addItem.setIcon(R.mipmap.pic_1);
		MenuItem item = menu.findItem(R.id.search);  //根据MenuItem的id找到指定的MenuItem
		//设置菜单项是否显示ActionBar上
		// SHOW_AS_ACTION_NEVER  不显示
		// SHOW_AS_ACTION_ALWAYS  显示
		// SHOW_AS_ACTION_IF_ROOM  空间足够就显示 否则不显示
		// SHOW_AS_ACTION_WITH_TEXT 显示 并且显示该菜单项文本
		item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
		SearchView searchView = (SearchView) item.getActionView();  //找到这个Item中的ActionView
		searchView.setOnQueryTextListener(new OnQueryTextListener() {  //给SearchView设置搜索的监听器
			@Override
			public boolean onQueryTextSubmit(String query) {
				Toast.makeText(ActionBarTestActivity.this, "开始搜索.....", Toast.LENGTH_SHORT).show();
				return false;
			}

			@Override
			public boolean onQueryTextChange(String newText) {
				return false;
			}
		});
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
			case R.id.add:
				Toast.makeText(this, "添加被点击", Toast.LENGTH_SHORT).show();
				break;
			case R.id.search:
				Toast.makeText(this, "搜索被点击", Toast.LENGTH_SHORT).show();
				break;
			case android.R.id.home:
				Toast.makeText(this, "系统导航图标被点击", Toast.LENGTH_SHORT).show();
				break;
		}

		/* 如果返回True，则事件到此为止，不会继续的向下传递 */
		return false;
	}

}
